Some applications stored in a computing device cannot be modified or updated once the applications are compiled and loaded into the computing device. For example, mobile phones with resource-constrained environments (e.g., small memory, slow processors, etc.) include operating systems that are compact and have limited functionalities. Such operating systems typically cannot be modified because the operating systems do not include update functionalities and/or cannot be modified for security purposes, such as to prevent viruses from modifying the operating systems.
Such mobile phones therefore cannot load patches to update their operating systems with new functionalities. For example, the menus associated with an operating system cannot be changed. In another example, to interface with a secure memory card, the operating system is preprogrammed to transmit a set of commands to the secure memory card. Such commands include, for example, a command to retrieve information associated with the secure memory card for use in digital rights management of data. A new secure memory card, for example, may include new functionalities that require the transmittal of a different set of existing commands. Since the operating system of the mobile phone cannot be updated, the mobile phone cannot support the new set of existing commands. As a result, the mobile phone cannot be adapted to interface with new or unsupported secure memory cards.
As a result, there is a further need for continuing efforts to improve the functionalities of computing devices.